package com.loeng.framework.translate.core;

import cn.hutool.core.collection.CollUtil;
import com.fhs.core.trans.vo.VO;
import com.fhs.trans.service.impl.TransService;

import java.util.List;

/**
 * VO 数据翻译 Utils
 *
 * @author loeng zhuo
 */
public class TranslateUtils {

    private static TransService transService;

    /**
     * 对 TransService 进行初始化
     * @param transService 实例
     */
    public static void init(TransService transService) {
        TranslateUtils.transService = transService;
    }

    /**
     * 翻译多个对象
     * 使用场景：无法使用 @TransMethodResult 注解的场景，只能通过手动触发翻译
     * @param data data
     * @return VO 类或其子类
     * @param <T> 泛型
     */
    public static <T extends VO> List<T> translate(List<T> data) {
        if (CollUtil.isNotEmpty(data)) {
            transService.transBatch(data);
        }
        return data;
    }

}
